1
Lógica Basada en Estados en Flujos de Datos
AI037Lesson 2
00:00

En C++, los flujos de datos no son solo tuberías; son entidades con estado. Evaluar un objeto istream como std::cin como una condición booleana permite que nuestros programas se adapten al ritmo impredecible de la entrada del usuario o archivos externos.

1. El Flujo como Valor Verdadero

Cuando usamos if (std::cin >> val), la expresión devuelve verdadero solo si el flujo permanece válido. Si alcanza un Fin de Archivo (EOF) o encuentra tipos de datos inválidos, cambia al estado "fallido", devolviendo falso.

2. El Anclaje y el Sondeo

Para rastrear cambios en los datos, definimos currVal (nuestro anclaje de estado) y val (nuestra sonda activa). La lógica depende de comparar la sonda entrante con el anclaje. Una discrepancia desencadena un informe de "cambio de estado", permitiéndonos procesar datos infinitos con memoria mínima.

cin >> currValwhile(cin >> val)FalsoEOF / Fallido

3. Operaciones de Lectura Múltiple

C++ permite encadenar lecturas de flujos: cin >> i >> j;. Esto lee el primer valor en i y el segundo en j, proporcionando una forma concisa de ingesta de registros complejos.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>